<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.5"/>
<title>usb: xusb_cp9.c File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="HTML_custom.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="xlogo_bg.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">usb
   </div>
   <div id="projectbrief">Vitis Drivers API Documentation</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Overview</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="globals.html"><span>APIs</span></a></li>
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="pages.html"><span>Examples</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('xusb__cp9_8c.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">xusb_cp9.c File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">Overview</h2>
<div class="textblock"><p>This file contains the USB Chapter 9 related functions. </p>
<dl class="section note"><dt>Note</dt><dd>None.</dd></dl>
<pre>
MODIFICATION HISTORY:</pre><pre>Ver   Who  Date     Changes
</p>
<hr/>
<p>
1.00a hvm  2/22/07 First release
1.01a hvm  5/30/07 Moved the USB class specific command processing to
              application files.
3.00a hvm  11/18/09 Updated to use HAL processor APIs.
               XUsb_mReadReg is renamed to XUsb_ReadReg and
               XUsb_mWriteReg is renamed to XUsb_WriteReg.
3.02a hvm  08/16/10 Updated with the little endian support changes.
4.00a hvm  12/20/10 Updated SetInterface function with microphone case
                support.</pre><pre></pre> </div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a27bfda5402c9f09018d88bf739cef6df"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xusb__cp9_8c.html#a27bfda5402c9f09018d88bf739cef6df">EP0ProcessOutToken</a> (<a class="el" href="struct_x_usb.html">XUsb</a> *InstancePtr)</td></tr>
<tr class="memdesc:a27bfda5402c9f09018d88bf739cef6df"><td class="mdescLeft">&#160;</td><td class="mdescRight">This routine is called when an OUT transaction for Endpoint Zero is received.  <a href="#a27bfda5402c9f09018d88bf739cef6df">More...</a><br/></td></tr>
<tr class="separator:a27bfda5402c9f09018d88bf739cef6df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a33729d6b78e329bb598c6f06e9f80c11"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xusb__cp9_8c.html#a33729d6b78e329bb598c6f06e9f80c11">EP0ProcessInToken</a> (<a class="el" href="struct_x_usb.html">XUsb</a> *InstancePtr)</td></tr>
<tr class="memdesc:a33729d6b78e329bb598c6f06e9f80c11"><td class="mdescLeft">&#160;</td><td class="mdescRight">This routine is called when IN transaction for Endpoint Zero is received.  <a href="#a33729d6b78e329bb598c6f06e9f80c11">More...</a><br/></td></tr>
<tr class="separator:a33729d6b78e329bb598c6f06e9f80c11"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac4a19eadcf18a8eaae15eec7bd617c55"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xusb__cp9_8c.html#ac4a19eadcf18a8eaae15eec7bd617c55">Chapter9</a> (<a class="el" href="struct_x_usb.html">XUsb</a> *InstancePtr)</td></tr>
<tr class="memdesc:ac4a19eadcf18a8eaae15eec7bd617c55"><td class="mdescLeft">&#160;</td><td class="mdescRight">This routine is called when a chapter 9 command is received.  <a href="#ac4a19eadcf18a8eaae15eec7bd617c55">More...</a><br/></td></tr>
<tr class="separator:ac4a19eadcf18a8eaae15eec7bd617c55"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a22dde643b00944f660e12767557ad7e1"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xusb__cp9_8c.html#a22dde643b00944f660e12767557ad7e1">ExecuteCommand</a> (<a class="el" href="struct_x_usb.html">XUsb</a> *InstancePtr)</td></tr>
<tr class="memdesc:a22dde643b00944f660e12767557ad7e1"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function executes the chapter 9 command processing.  <a href="#a22dde643b00944f660e12767557ad7e1">More...</a><br/></td></tr>
<tr class="separator:a22dde643b00944f660e12767557ad7e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4a4a0285e230799d49ba9c155d478735"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xusb__cp9_8c.html#a4a4a0285e230799d49ba9c155d478735">GetInterface</a> (<a class="el" href="struct_x_usb.html">XUsb</a> *InstancePtr)</td></tr>
<tr class="memdesc:a4a4a0285e230799d49ba9c155d478735"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function responds to the GET_INTERFACE command.  <a href="#a4a4a0285e230799d49ba9c155d478735">More...</a><br/></td></tr>
<tr class="separator:a4a4a0285e230799d49ba9c155d478735"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a09af7a51b9335e930098d2453c35ee0e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xusb__cp9_8c.html#a09af7a51b9335e930098d2453c35ee0e">SetInterface</a> (<a class="el" href="struct_x_usb.html">XUsb</a> *InstancePtr)</td></tr>
<tr class="memdesc:a09af7a51b9335e930098d2453c35ee0e"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function responds to the SET_INTERFACE command.  <a href="#a09af7a51b9335e930098d2453c35ee0e">More...</a><br/></td></tr>
<tr class="separator:a09af7a51b9335e930098d2453c35ee0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0e70dcdbdf3db1095a5b1b4128041618"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xusb__cp9_8c.html#a0e70dcdbdf3db1095a5b1b4128041618">SetupControlWriteStatusStage</a> (<a class="el" href="struct_x_usb.html">XUsb</a> *InstancePtr)</td></tr>
<tr class="memdesc:a0e70dcdbdf3db1095a5b1b4128041618"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sets the basic Control status words.  <a href="#a0e70dcdbdf3db1095a5b1b4128041618">More...</a><br/></td></tr>
<tr class="separator:a0e70dcdbdf3db1095a5b1b4128041618"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7586176b8d7887141ac9ca8e2cb54652"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xusb__cp9_8c.html#a7586176b8d7887141ac9ca8e2cb54652">GetStatus</a> (<a class="el" href="struct_x_usb.html">XUsb</a> *InstancePtr)</td></tr>
<tr class="memdesc:a7586176b8d7887141ac9ca8e2cb54652"><td class="mdescLeft">&#160;</td><td class="mdescRight">This routine is called when a GET_STATUS command is received.  <a href="#a7586176b8d7887141ac9ca8e2cb54652">More...</a><br/></td></tr>
<tr class="separator:a7586176b8d7887141ac9ca8e2cb54652"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab8ca0ad29df636d913b014873634e94f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xusb__cp9_8c.html#ab8ca0ad29df636d913b014873634e94f">GetDescriptor</a> (<a class="el" href="struct_x_usb.html">XUsb</a> *InstancePtr)</td></tr>
<tr class="memdesc:ab8ca0ad29df636d913b014873634e94f"><td class="mdescLeft">&#160;</td><td class="mdescRight">This routine is called when a GET_DESCRIPTOR command is received.  <a href="#ab8ca0ad29df636d913b014873634e94f">More...</a><br/></td></tr>
<tr class="separator:ab8ca0ad29df636d913b014873634e94f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a200f2b9a12625de5fe962edf82883b81"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xusb__cp9_8c.html#a200f2b9a12625de5fe962edf82883b81">SetDescriptor</a> (<a class="el" href="struct_x_usb.html">XUsb</a> *InstancePtr)</td></tr>
<tr class="memdesc:a200f2b9a12625de5fe962edf82883b81"><td class="mdescLeft">&#160;</td><td class="mdescRight">This routine is called when a SET_DESCRIPTOR command is received.  <a href="#a200f2b9a12625de5fe962edf82883b81">More...</a><br/></td></tr>
<tr class="separator:a200f2b9a12625de5fe962edf82883b81"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a05b34453f563c02ff58a34f561ce0dd0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xusb__cp9_8c.html#a05b34453f563c02ff58a34f561ce0dd0">GetConfiguration</a> (<a class="el" href="struct_x_usb.html">XUsb</a> *InstancePtr)</td></tr>
<tr class="memdesc:a05b34453f563c02ff58a34f561ce0dd0"><td class="mdescLeft">&#160;</td><td class="mdescRight">This routine is called when a GET_CONFIGURATION command is received.  <a href="#a05b34453f563c02ff58a34f561ce0dd0">More...</a><br/></td></tr>
<tr class="separator:a05b34453f563c02ff58a34f561ce0dd0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa8556bb31c18a1a79e669d398eb3d550"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xusb__cp9_8c.html#aa8556bb31c18a1a79e669d398eb3d550">SetConfiguration</a> (<a class="el" href="struct_x_usb.html">XUsb</a> *InstancePtr)</td></tr>
<tr class="memdesc:aa8556bb31c18a1a79e669d398eb3d550"><td class="mdescLeft">&#160;</td><td class="mdescRight">This routine is called when a SET_CONFIGURATION command is received.  <a href="#aa8556bb31c18a1a79e669d398eb3d550">More...</a><br/></td></tr>
<tr class="separator:aa8556bb31c18a1a79e669d398eb3d550"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aecd8f2cb6543de9f51b92df0880add14"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xusb__cp9_8c.html#aecd8f2cb6543de9f51b92df0880add14">SetClearFeature</a> (<a class="el" href="struct_x_usb.html">XUsb</a> *InstancePtr, int flag)</td></tr>
<tr class="memdesc:aecd8f2cb6543de9f51b92df0880add14"><td class="mdescLeft">&#160;</td><td class="mdescRight">This routine is called when a SET_FEATURE or a CLEAR_FEATURE command is received.  <a href="#aecd8f2cb6543de9f51b92df0880add14">More...</a><br/></td></tr>
<tr class="separator:aecd8f2cb6543de9f51b92df0880add14"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af8ce6abb665614a213d352a7dfe02697"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xusb__cp9_8c.html#af8ce6abb665614a213d352a7dfe02697">LoadEP0</a> (<a class="el" href="struct_x_usb.html">XUsb</a> *InstancePtr)</td></tr>
<tr class="memdesc:af8ce6abb665614a213d352a7dfe02697"><td class="mdescLeft">&#160;</td><td class="mdescRight">This routine copies the EP0 related data to the DPRAM.  <a href="#af8ce6abb665614a213d352a7dfe02697">More...</a><br/></td></tr>
<tr class="separator:af8ce6abb665614a213d352a7dfe02697"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="ac4a19eadcf18a8eaae15eec7bd617c55"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int Chapter9 </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_usb.html">XUsb</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This routine is called when a chapter 9 command is received. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_usb.html" title="The XUsb driver instance data. ">XUsb</a> instance of the controller.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The setup request value to be processed by the upper layer.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_usb___config.html#a4c3940ad84a72a33f98856da250dab3f">XUsb_Config::BaseAddress</a>, <a class="el" href="struct_x_usb.html#ac9eb29e8f2372f88e570357da004e189">XUsb::Config</a>, <a class="el" href="xusb__cp9_8c.html#a22dde643b00944f660e12767557ad7e1">ExecuteCommand()</a>, and <a class="el" href="group__usb.html#gaea676d38f5d084d685414837594fad8d">XUSB_SETUP_PKT_ADDR_OFFSET</a>.</p>

<p>Referenced by <a class="el" href="xusb__storage_8h.html#a243967b329b332dc3503adfc2950fceb">Ep0IntrHandler()</a>.</p>

</div>
</div>
<a class="anchor" id="a33729d6b78e329bb598c6f06e9f80c11"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void EP0ProcessInToken </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_usb.html">XUsb</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This routine is called when IN transaction for Endpoint Zero is received. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_usb.html" title="The XUsb driver instance data. ">XUsb</a> instance of the controller.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_usb___config.html#a4c3940ad84a72a33f98856da250dab3f">XUsb_Config::BaseAddress</a>, <a class="el" href="struct_x_usb___ep_config.html#aa9571c37eb861f5105f33c3b383d4d6c">XUsb_EpConfig::Buffer0Ready</a>, <a class="el" href="struct_x_usb.html#ac9eb29e8f2372f88e570357da004e189">XUsb::Config</a>, <a class="el" href="struct_x_usb.html#ab3ca87faf1aa1caaa6fa6e6f7c3e9267">XUsb::DeviceConfig</a>, <a class="el" href="struct_x_usb.html#a69fc81451351e4418bfe14f9fae4fb40">XUsb::EndPointOffset</a>, <a class="el" href="struct_x_usb___device_config.html#a6448bf5499b369be43e341c0edf109ea">XUsb_DeviceConfig::Ep</a>, <a class="el" href="xusb__cp9_8c.html#af8ce6abb665614a213d352a7dfe02697">LoadEP0()</a>, <a class="el" href="group__usb.html#gab9387baa67fbacb67dc4bb8fb5099946">TEST_J</a>, <a class="el" href="group__usb.html#gab2a74173a60f9124ce0dbe9430302076">XUSB_BUFFREADY_OFFSET</a>, <a class="el" href="group__usb.html#gae19f4d9ae7d2a577fda94b30eee957aa">XUSB_EP_BUF0COUNT_OFFSET</a>, <a class="el" href="group__usb.html#ga0208afaf65f9cc286adcaec1aa035a3b">XUSB_EP_CFG_DATA_TOGGLE_MASK</a>, <a class="el" href="group__usb.html#gacd33f4473000380669cb9147110cac62">XUsb_ReadReg</a>, <a class="el" href="group__usb.html#gaa2f7958d25023d2ed18cfaabfb2baa0f">XUsb_SetDeviceAddress()</a>, <a class="el" href="group__usb.html#ga4d5a367719f199ad49b9020f0fdd22ab">XUsb_SetTestMode()</a>, and <a class="el" href="group__usb.html#ga7598429f7ba0bb7f052da4eb95d0908b">XUsb_WriteReg</a>.</p>

<p>Referenced by <a class="el" href="xusb__storage_8h.html#a243967b329b332dc3503adfc2950fceb">Ep0IntrHandler()</a>.</p>

</div>
</div>
<a class="anchor" id="a27bfda5402c9f09018d88bf739cef6df"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void EP0ProcessOutToken </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_usb.html">XUsb</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This routine is called when an OUT transaction for Endpoint Zero is received. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_usb.html" title="The XUsb driver instance data. ">XUsb</a> instance of the controller.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_usb___config.html#a4c3940ad84a72a33f98856da250dab3f">XUsb_Config::BaseAddress</a>, <a class="el" href="struct_x_usb___ep_config.html#aa9571c37eb861f5105f33c3b383d4d6c">XUsb_EpConfig::Buffer0Ready</a>, <a class="el" href="struct_x_usb.html#ac9eb29e8f2372f88e570357da004e189">XUsb::Config</a>, <a class="el" href="struct_x_usb.html#ab3ca87faf1aa1caaa6fa6e6f7c3e9267">XUsb::DeviceConfig</a>, <a class="el" href="struct_x_usb___device_config.html#a6448bf5499b369be43e341c0edf109ea">XUsb_DeviceConfig::Ep</a>, <a class="el" href="xusb__cp9_8c.html#a22dde643b00944f660e12767557ad7e1">ExecuteCommand()</a>, <a class="el" href="group__usb.html#gab2a74173a60f9124ce0dbe9430302076">XUSB_BUFFREADY_OFFSET</a>, <a class="el" href="group__usb.html#gae19f4d9ae7d2a577fda94b30eee957aa">XUSB_EP_BUF0COUNT_OFFSET</a>, <a class="el" href="group__usb.html#gacd33f4473000380669cb9147110cac62">XUsb_ReadReg</a>, and <a class="el" href="group__usb.html#ga7598429f7ba0bb7f052da4eb95d0908b">XUsb_WriteReg</a>.</p>

<p>Referenced by <a class="el" href="xusb__storage_8h.html#a243967b329b332dc3503adfc2950fceb">Ep0IntrHandler()</a>.</p>

</div>
</div>
<a class="anchor" id="a22dde643b00944f660e12767557ad7e1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ExecuteCommand </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_usb.html">XUsb</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function executes the chapter 9 command processing. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_usb.html" title="The XUsb driver instance data. ">XUsb</a> instance of the controller.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The request value to be processed by the upper layer if the request is not handled. XST_SUCCESS if the request is successfully processed.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="xusb__cp9_8c.html#a05b34453f563c02ff58a34f561ce0dd0">GetConfiguration()</a>, <a class="el" href="xusb__cp9_8c.html#ab8ca0ad29df636d913b014873634e94f">GetDescriptor()</a>, <a class="el" href="xusb__cp9_8c.html#a4a4a0285e230799d49ba9c155d478735">GetInterface()</a>, <a class="el" href="xusb__cp9_8c.html#a7586176b8d7887141ac9ca8e2cb54652">GetStatus()</a>, <a class="el" href="xusb__cp9_8c.html#aecd8f2cb6543de9f51b92df0880add14">SetClearFeature()</a>, <a class="el" href="xusb__cp9_8c.html#aa8556bb31c18a1a79e669d398eb3d550">SetConfiguration()</a>, <a class="el" href="xusb__cp9_8c.html#a200f2b9a12625de5fe962edf82883b81">SetDescriptor()</a>, <a class="el" href="xusb__cp9_8c.html#a09af7a51b9335e930098d2453c35ee0e">SetInterface()</a>, <a class="el" href="xusb__cp9_8c.html#a0e70dcdbdf3db1095a5b1b4128041618">SetupControlWriteStatusStage()</a>, and <a class="el" href="group__usb.html#gab38009aad2e0011e0bd392f064edeec7">XUsb_EpStall()</a>.</p>

<p>Referenced by <a class="el" href="xusb__cp9_8h.html#ac4a19eadcf18a8eaae15eec7bd617c55">Chapter9()</a>, and <a class="el" href="xusb__cp9_8h.html#a27bfda5402c9f09018d88bf739cef6df">EP0ProcessOutToken()</a>.</p>

</div>
</div>
<a class="anchor" id="a05b34453f563c02ff58a34f561ce0dd0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void GetConfiguration </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_usb.html">XUsb</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This routine is called when a GET_CONFIGURATION command is received. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_usb.html" title="The XUsb driver instance data. ">XUsb</a> instance of the controller.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_usb___config.html#a4c3940ad84a72a33f98856da250dab3f">XUsb_Config::BaseAddress</a>, <a class="el" href="struct_x_usb___ep_config.html#aa9571c37eb861f5105f33c3b383d4d6c">XUsb_EpConfig::Buffer0Ready</a>, <a class="el" href="struct_x_usb.html#ac9eb29e8f2372f88e570357da004e189">XUsb::Config</a>, <a class="el" href="struct_x_usb___device_config.html#aa2e570d2cf6027c87adee4304b6afd79">XUsb_DeviceConfig::CurrentConfiguration</a>, <a class="el" href="struct_x_usb.html#ab3ca87faf1aa1caaa6fa6e6f7c3e9267">XUsb::DeviceConfig</a>, <a class="el" href="struct_x_usb.html#a69fc81451351e4418bfe14f9fae4fb40">XUsb::EndPointOffset</a>, <a class="el" href="struct_x_usb___device_config.html#a6448bf5499b369be43e341c0edf109ea">XUsb_DeviceConfig::Ep</a>, <a class="el" href="struct_x_usb___ep_config.html#ae435ae7b41b9b695000ac64e1b5734f2">XUsb_EpConfig::RamBase</a>, <a class="el" href="group__usb.html#gab2a74173a60f9124ce0dbe9430302076">XUSB_BUFFREADY_OFFSET</a>, <a class="el" href="group__usb.html#gae19f4d9ae7d2a577fda94b30eee957aa">XUSB_EP_BUF0COUNT_OFFSET</a>, and <a class="el" href="group__usb.html#ga7598429f7ba0bb7f052da4eb95d0908b">XUsb_WriteReg</a>.</p>

<p>Referenced by <a class="el" href="xusb__cp9_8h.html#a22dde643b00944f660e12767557ad7e1">ExecuteCommand()</a>.</p>

</div>
</div>
<a class="anchor" id="ab8ca0ad29df636d913b014873634e94f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void GetDescriptor </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_usb.html">XUsb</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This routine is called when a GET_DESCRIPTOR command is received. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_usb.html" title="The XUsb driver instance data. ">XUsb</a> instance of the controller.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_usb___device_config.html#a53ebfe09517736ee2ca350e4d96e996c">XUsb_DeviceConfig::CurrentSpeed</a>, <a class="el" href="struct_x_usb.html#ab3ca87faf1aa1caaa6fa6e6f7c3e9267">XUsb::DeviceConfig</a>, <a class="el" href="xusb__cp9_8c.html#af8ce6abb665614a213d352a7dfe02697">LoadEP0()</a>, <a class="el" href="group__usb.html#gaf18783c0d53b254b23bee3714df0c7b4">XUSB_EP_HIGH_SPEED</a>, and <a class="el" href="group__usb.html#gab38009aad2e0011e0bd392f064edeec7">XUsb_EpStall()</a>.</p>

<p>Referenced by <a class="el" href="xusb__cp9_8h.html#a22dde643b00944f660e12767557ad7e1">ExecuteCommand()</a>.</p>

</div>
</div>
<a class="anchor" id="a4a4a0285e230799d49ba9c155d478735"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void GetInterface </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_usb.html">XUsb</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function responds to the GET_INTERFACE command. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_usb.html" title="The XUsb driver instance data. ">XUsb</a> instance of the controller.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_usb___config.html#a4c3940ad84a72a33f98856da250dab3f">XUsb_Config::BaseAddress</a>, <a class="el" href="struct_x_usb___ep_config.html#aa9571c37eb861f5105f33c3b383d4d6c">XUsb_EpConfig::Buffer0Ready</a>, <a class="el" href="struct_x_usb.html#ac9eb29e8f2372f88e570357da004e189">XUsb::Config</a>, <a class="el" href="struct_x_usb.html#ab3ca87faf1aa1caaa6fa6e6f7c3e9267">XUsb::DeviceConfig</a>, <a class="el" href="struct_x_usb.html#a69fc81451351e4418bfe14f9fae4fb40">XUsb::EndPointOffset</a>, <a class="el" href="struct_x_usb___device_config.html#a6448bf5499b369be43e341c0edf109ea">XUsb_DeviceConfig::Ep</a>, <a class="el" href="group__usb.html#gab2a74173a60f9124ce0dbe9430302076">XUSB_BUFFREADY_OFFSET</a>, <a class="el" href="group__usb.html#gae19f4d9ae7d2a577fda94b30eee957aa">XUSB_EP_BUF0COUNT_OFFSET</a>, <a class="el" href="group__usb.html#gab38009aad2e0011e0bd392f064edeec7">XUsb_EpStall()</a>, and <a class="el" href="group__usb.html#ga7598429f7ba0bb7f052da4eb95d0908b">XUsb_WriteReg</a>.</p>

<p>Referenced by <a class="el" href="xusb__cp9_8h.html#a22dde643b00944f660e12767557ad7e1">ExecuteCommand()</a>.</p>

</div>
</div>
<a class="anchor" id="a7586176b8d7887141ac9ca8e2cb54652"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void GetStatus </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_usb.html">XUsb</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This routine is called when a GET_STATUS command is received. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_usb.html" title="The XUsb driver instance data. ">XUsb</a> instance of the controller.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_usb___config.html#a4c3940ad84a72a33f98856da250dab3f">XUsb_Config::BaseAddress</a>, <a class="el" href="struct_x_usb___ep_config.html#aa9571c37eb861f5105f33c3b383d4d6c">XUsb_EpConfig::Buffer0Ready</a>, <a class="el" href="struct_x_usb.html#ac9eb29e8f2372f88e570357da004e189">XUsb::Config</a>, <a class="el" href="struct_x_usb.html#ab3ca87faf1aa1caaa6fa6e6f7c3e9267">XUsb::DeviceConfig</a>, <a class="el" href="struct_x_usb.html#a69fc81451351e4418bfe14f9fae4fb40">XUsb::EndPointOffset</a>, <a class="el" href="struct_x_usb___device_config.html#a6448bf5499b369be43e341c0edf109ea">XUsb_DeviceConfig::Ep</a>, <a class="el" href="struct_x_usb___ep_config.html#ae435ae7b41b9b695000ac64e1b5734f2">XUsb_EpConfig::RamBase</a>, <a class="el" href="group__usb.html#gab2a74173a60f9124ce0dbe9430302076">XUSB_BUFFREADY_OFFSET</a>, <a class="el" href="group__usb.html#gae19f4d9ae7d2a577fda94b30eee957aa">XUSB_EP_BUF0COUNT_OFFSET</a>, <a class="el" href="group__usb.html#ga44f199152e9dc257ba086f991ca407fc">XUSB_EP_CFG_STALL_MASK</a>, <a class="el" href="group__usb.html#gab566935b4ec36da4d091744312d34c5f">XUSB_EP_CFG_STALL_SHIFT</a>, <a class="el" href="group__usb.html#gab38009aad2e0011e0bd392f064edeec7">XUsb_EpStall()</a>, <a class="el" href="group__usb.html#gacd33f4473000380669cb9147110cac62">XUsb_ReadReg</a>, and <a class="el" href="group__usb.html#ga7598429f7ba0bb7f052da4eb95d0908b">XUsb_WriteReg</a>.</p>

<p>Referenced by <a class="el" href="xusb__cp9_8h.html#a22dde643b00944f660e12767557ad7e1">ExecuteCommand()</a>.</p>

</div>
</div>
<a class="anchor" id="af8ce6abb665614a213d352a7dfe02697"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void LoadEP0 </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_usb.html">XUsb</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This routine copies the EP0 related data to the DPRAM. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_usb.html" title="The XUsb driver instance data. ">XUsb</a> instance of the controller.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_usb___config.html#a4c3940ad84a72a33f98856da250dab3f">XUsb_Config::BaseAddress</a>, <a class="el" href="struct_x_usb___ep_config.html#aa9571c37eb861f5105f33c3b383d4d6c">XUsb_EpConfig::Buffer0Ready</a>, <a class="el" href="struct_x_usb.html#ac9eb29e8f2372f88e570357da004e189">XUsb::Config</a>, <a class="el" href="struct_x_usb.html#ab3ca87faf1aa1caaa6fa6e6f7c3e9267">XUsb::DeviceConfig</a>, <a class="el" href="struct_x_usb___device_config.html#a6448bf5499b369be43e341c0edf109ea">XUsb_DeviceConfig::Ep</a>, <a class="el" href="struct_x_usb___ep_config.html#ae435ae7b41b9b695000ac64e1b5734f2">XUsb_EpConfig::RamBase</a>, <a class="el" href="group__usb.html#gab2a74173a60f9124ce0dbe9430302076">XUSB_BUFFREADY_OFFSET</a>, <a class="el" href="group__usb.html#gae19f4d9ae7d2a577fda94b30eee957aa">XUSB_EP_BUF0COUNT_OFFSET</a>, and <a class="el" href="group__usb.html#ga7598429f7ba0bb7f052da4eb95d0908b">XUsb_WriteReg</a>.</p>

<p>Referenced by <a class="el" href="xusb__cp9_8h.html#a33729d6b78e329bb598c6f06e9f80c11">EP0ProcessInToken()</a>, and <a class="el" href="xusb__cp9_8h.html#ab8ca0ad29df636d913b014873634e94f">GetDescriptor()</a>.</p>

</div>
</div>
<a class="anchor" id="aecd8f2cb6543de9f51b92df0880add14"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void SetClearFeature </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_usb.html">XUsb</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>flag</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This routine is called when a SET_FEATURE or a CLEAR_FEATURE command is received. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_usb.html" title="The XUsb driver instance data. ">XUsb</a> instance of the controller. </td></tr>
    <tr><td class="paramname">flag</td><td>specifies whether it is a SET_FEATURE (TRUE)or a CLEAR_FEATURE (FALSE) command.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_usb.html#ac9eb29e8f2372f88e570357da004e189">XUsb::Config</a>, <a class="el" href="struct_x_usb.html#ab3ca87faf1aa1caaa6fa6e6f7c3e9267">XUsb::DeviceConfig</a>, <a class="el" href="struct_x_usb___device_config.html#a6448bf5499b369be43e341c0edf109ea">XUsb_DeviceConfig::Ep</a>, <a class="el" href="struct_x_usb___ep_config.html#a53a183054dd9dc8866ccfe0584fe3c88">XUsb_EpConfig::OutIn</a>, <a class="el" href="xusb__cp9_8c.html#a0e70dcdbdf3db1095a5b1b4128041618">SetupControlWriteStatusStage()</a>, <a class="el" href="group__usb.html#ga0208afaf65f9cc286adcaec1aa035a3b">XUSB_EP_CFG_DATA_TOGGLE_MASK</a>, <a class="el" href="group__usb.html#gab38009aad2e0011e0bd392f064edeec7">XUsb_EpStall()</a>, <a class="el" href="group__usb.html#ga30a3f5338e5938d9efc1e843c38e9d78">XUsb_EpUnstall()</a>, <a class="el" href="group__usb.html#gacd33f4473000380669cb9147110cac62">XUsb_ReadReg</a>, and <a class="el" href="group__usb.html#ga7598429f7ba0bb7f052da4eb95d0908b">XUsb_WriteReg</a>.</p>

<p>Referenced by <a class="el" href="xusb__cp9_8h.html#a22dde643b00944f660e12767557ad7e1">ExecuteCommand()</a>.</p>

</div>
</div>
<a class="anchor" id="aa8556bb31c18a1a79e669d398eb3d550"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void SetConfiguration </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_usb.html">XUsb</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This routine is called when a SET_CONFIGURATION command is received. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_usb.html" title="The XUsb driver instance data. ">XUsb</a> instance of the controller.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_usb___config.html#a4c3940ad84a72a33f98856da250dab3f">XUsb_Config::BaseAddress</a>, <a class="el" href="struct_x_usb___ep_config.html#aa9571c37eb861f5105f33c3b383d4d6c">XUsb_EpConfig::Buffer0Ready</a>, <a class="el" href="struct_x_usb___ep_config.html#ab377dc556732f53160473338e06eed70">XUsb_EpConfig::Buffer1Ready</a>, <a class="el" href="struct_x_usb.html#ac9eb29e8f2372f88e570357da004e189">XUsb::Config</a>, <a class="el" href="struct_x_usb___device_config.html#aa2e570d2cf6027c87adee4304b6afd79">XUsb_DeviceConfig::CurrentConfiguration</a>, <a class="el" href="struct_x_usb.html#ab3ca87faf1aa1caaa6fa6e6f7c3e9267">XUsb::DeviceConfig</a>, <a class="el" href="struct_x_usb___device_config.html#a6448bf5499b369be43e341c0edf109ea">XUsb_DeviceConfig::Ep</a>, <a class="el" href="xusb__cp9_8h.html#a3b40155d0d9fa44133905dd9f6f02ee7">InitUsbInterface()</a>, <a class="el" href="struct_x_usb___device_config.html#afabc76c53b986e9ae1c5ae30f52789f9">XUsb_DeviceConfig::NumEndpoints</a>, <a class="el" href="struct_x_usb___ep_config.html#a53a183054dd9dc8866ccfe0584fe3c88">XUsb_EpConfig::OutIn</a>, <a class="el" href="xusb__cp9_8c.html#a0e70dcdbdf3db1095a5b1b4128041618">SetupControlWriteStatusStage()</a>, <a class="el" href="group__usb.html#gab2a74173a60f9124ce0dbe9430302076">XUSB_BUFFREADY_OFFSET</a>, <a class="el" href="group__usb.html#gaaeed667f160bf00cc1e548a254fc45a3">XUSB_EP_DIRECTION_OUT</a>, <a class="el" href="group__usb.html#gab38009aad2e0011e0bd392f064edeec7">XUsb_EpStall()</a>, <a class="el" href="group__usb.html#gaba320856d1e5e824db1e42b9bb6f9e2a">XUSB_STATUS_EP_BUFF2_SHIFT</a>, and <a class="el" href="group__usb.html#ga7598429f7ba0bb7f052da4eb95d0908b">XUsb_WriteReg</a>.</p>

<p>Referenced by <a class="el" href="xusb__cp9_8h.html#a22dde643b00944f660e12767557ad7e1">ExecuteCommand()</a>.</p>

</div>
</div>
<a class="anchor" id="a200f2b9a12625de5fe962edf82883b81"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void SetDescriptor </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_usb.html">XUsb</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This routine is called when a SET_DESCRIPTOR command is received. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_usb.html" title="The XUsb driver instance data. ">XUsb</a> instance of the controller.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="group__usb.html#gab38009aad2e0011e0bd392f064edeec7">XUsb_EpStall()</a>.</p>

<p>Referenced by <a class="el" href="xusb__cp9_8h.html#a22dde643b00944f660e12767557ad7e1">ExecuteCommand()</a>.</p>

</div>
</div>
<a class="anchor" id="a09af7a51b9335e930098d2453c35ee0e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void SetInterface </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_usb.html">XUsb</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function responds to the SET_INTERFACE command. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_usb.html" title="The XUsb driver instance data. ">XUsb</a> instance of the controller.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="xusb__cp9_8c.html#a0e70dcdbdf3db1095a5b1b4128041618">SetupControlWriteStatusStage()</a>, and <a class="el" href="group__usb.html#gab38009aad2e0011e0bd392f064edeec7">XUsb_EpStall()</a>.</p>

<p>Referenced by <a class="el" href="xusb__cp9_8h.html#a22dde643b00944f660e12767557ad7e1">ExecuteCommand()</a>.</p>

</div>
</div>
<a class="anchor" id="a0e70dcdbdf3db1095a5b1b4128041618"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void SetupControlWriteStatusStage </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_usb.html">XUsb</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function sets the basic Control status words. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_usb.html" title="The XUsb driver instance data. ">XUsb</a> instance of the controller.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_usb___config.html#a4c3940ad84a72a33f98856da250dab3f">XUsb_Config::BaseAddress</a>, <a class="el" href="struct_x_usb___ep_config.html#ae2ec8f3edcf07ce37a8649bad2d86476">XUsb_EpConfig::Buffer0Count</a>, <a class="el" href="struct_x_usb.html#ac9eb29e8f2372f88e570357da004e189">XUsb::Config</a>, <a class="el" href="struct_x_usb.html#ab3ca87faf1aa1caaa6fa6e6f7c3e9267">XUsb::DeviceConfig</a>, <a class="el" href="struct_x_usb.html#a69fc81451351e4418bfe14f9fae4fb40">XUsb::EndPointOffset</a>, <a class="el" href="struct_x_usb___device_config.html#a6448bf5499b369be43e341c0edf109ea">XUsb_DeviceConfig::Ep</a>, <a class="el" href="group__usb.html#gab2a74173a60f9124ce0dbe9430302076">XUSB_BUFFREADY_OFFSET</a>, <a class="el" href="group__usb.html#gae19f4d9ae7d2a577fda94b30eee957aa">XUSB_EP_BUF0COUNT_OFFSET</a>, <a class="el" href="group__usb.html#ga0208afaf65f9cc286adcaec1aa035a3b">XUSB_EP_CFG_DATA_TOGGLE_MASK</a>, <a class="el" href="group__usb.html#gacd33f4473000380669cb9147110cac62">XUsb_ReadReg</a>, and <a class="el" href="group__usb.html#ga7598429f7ba0bb7f052da4eb95d0908b">XUsb_WriteReg</a>.</p>

<p>Referenced by <a class="el" href="xusb__cp9_8h.html#a22dde643b00944f660e12767557ad7e1">ExecuteCommand()</a>, <a class="el" href="xusb__storage_8h.html#ad696da140ceb6e98f34ca83a0de9b2a6">MassStorageReset()</a>, <a class="el" href="xusb__cp9_8h.html#aecd8f2cb6543de9f51b92df0880add14">SetClearFeature()</a>, <a class="el" href="xusb__cp9_8h.html#aa8556bb31c18a1a79e669d398eb3d550">SetConfiguration()</a>, and <a class="el" href="xusb__cp9_8h.html#a09af7a51b9335e930098d2453c35ee0e">SetInterface()</a>.</p>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
	<p class="footer">&copy; Copyright 2015-2022 Xilinx, Inc. All Rights Reserved.</p>
	<p class="footer">&copy; Copyright 2022-2023 Advanced Micro Devices, Inc. All Rights Reserved.</p>
</div>
</body>
</html>
